package com.clear.factory.abstractFactory.resourceFactory;


import com.clear.factory.abstractFactory.product.AbstractPictureResource;
import com.clear.factory.abstractFactory.product.AbstractTextResource;
import com.clear.factory.abstractFactory.product.AbstractVideoResource;

/**
 * 资源工厂
 * todo 工厂的统一抽象 (顶级接口)
 * <p>
 * 当前工厂实例，都可以生产一个产品族
 */
public interface IResourceLoader {

    /**
     * 加载图片资源的工厂方法
     *
     * @param url
     * @return 图片资源
     */
    AbstractPictureResource loadPictureResource(String url);

    /**
     * 加载视频资源的工厂方法
     *
     * @param url
     * @return 视频资源
     */
    AbstractVideoResource loadVideoResource(String url);

    /**
     * 加载文本资源的工厂方法
     *
     * @param url
     * @return 文本资源
     */
    AbstractTextResource loadTextResource(String url);
}
